package com.mastercard.assets.jpa;

import java.io.Serializable;
import javax.persistence.*;
import java.sql.Timestamp;
import java.util.List;


/**
 * The persistent class for the tbl_preimplementacion_cotiza database table.
 * 
 */
@Entity
@Table(name="tbl_preimplementacion_cotiza")
public class TblPreimplementacionCotiza implements Serializable {
	private static final long serialVersionUID = 1L;
	private int cveCotizacion;
	private String archivoCotizacion;
	private byte bandera;
	private Timestamp fechaAlta;
	private byte status;
	private float total;
	private String txtAgencia;
	private String txtHistorial;
	private String txtSolicita;
        private int numPO ;
	private TblTareaPreimplementacion tblTareaPreimplementacion;
        private TblPreimplementacion tblPreimplementacion;
	private List<TblPreimplementacionCotizacionServicio> tblPreimplementacionCotizacionServicios;

    public TblPreimplementacionCotiza() {
    }


	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	@Column(name="cve_cotizacion", unique=true, nullable=false)
	public int getCveCotizacion() {
		return this.cveCotizacion;
	}

	public void setCveCotizacion(int cveCotizacion) {
		this.cveCotizacion = cveCotizacion;
	}


	@Column(name="archivo_cotizacion", nullable=false, length=1024)
	public String getArchivoCotizacion() {
		return this.archivoCotizacion;
	}

	public void setArchivoCotizacion(String archivoCotizacion) {
		this.archivoCotizacion = archivoCotizacion;
	}


	@Column(nullable=false)
	public byte getBandera() {
		return this.bandera;
	}

	public void setBandera(byte bandera) {
		this.bandera = bandera;
	}


	@Column(name="fecha_alta", nullable=false)
	public Timestamp getFechaAlta() {
		return this.fechaAlta;
	}

	public void setFechaAlta(Timestamp fechaAlta) {
		this.fechaAlta = fechaAlta;
	}


	@Column(nullable=false)
	public byte getStatus() {
		return this.status;
	}

	public void setStatus(byte status) {
		this.status = status;
	}


	@Column(nullable=false)
	public float getTotal() {
		return this.total;
	}

	public void setTotal(float total) {
		this.total = total;
	}


	@Column(name="txt_agencia", nullable=false, length=2048)
	public String getTxtAgencia() {
		return this.txtAgencia;
	}

	public void setTxtAgencia(String txtAgencia) {
		this.txtAgencia = txtAgencia;
	}


    @Lob()
	@Column(name="txt_historial", nullable=false)
	public String getTxtHistorial() {
		return this.txtHistorial;
	}

	public void setTxtHistorial(String txtHistorial) {
		this.txtHistorial = txtHistorial;
	}


	@Column(name="txt_solicita", nullable=false, length=2048)
	public String getTxtSolicita() {
		return this.txtSolicita;
	}

	public void setTxtSolicita(String txtSolicita) {
		this.txtSolicita = txtSolicita;
	}
        
        @Column(nullable=false)
	public int getNumPO() {
		return this.numPO;
	}

	public void setNumPO(int numPO) {
		this.numPO = numPO;
	}

	//bi-directional many-to-one association to TblTareaPreimplementacion
    @ManyToOne
	@JoinColumn(name="cve_tarea_preimplementacion", nullable=false)
	public TblTareaPreimplementacion getTblTareaPreimplementacion() {
		return this.tblTareaPreimplementacion;
	}

	public void setTblTareaPreimplementacion(TblTareaPreimplementacion tblTareaPreimplementacion) {
		this.tblTareaPreimplementacion = tblTareaPreimplementacion;
	}
	
        @OneToOne(cascade=CascadeType.ALL)
        @JoinColumn(name="cve_preimplementacion")
        /**
        * @return the person
        */
        public TblPreimplementacion getTblPreimplementacion() {
        return tblPreimplementacion;
        }

        /**
        * @param person the person to set
        */
        public void setTblPreimplementacion(TblPreimplementacion tblPreimplementacion) {
        this.tblPreimplementacion = tblPreimplementacion;
        }

	//bi-directional many-to-one association to TblPreimplementacionCotizacionServicio
	@OneToMany(mappedBy="tblPreimplementacionCotiza")
	public List<TblPreimplementacionCotizacionServicio> getTblPreimplementacionCotizacionServicios() {
		return this.tblPreimplementacionCotizacionServicios;
	}

	public void setTblPreimplementacionCotizacionServicios(List<TblPreimplementacionCotizacionServicio> tblPreimplementacionCotizacionServicios) {
		this.tblPreimplementacionCotizacionServicios = tblPreimplementacionCotizacionServicios;
	}
	
}